package com.lightsh.interfaces.creator;

import org.jbox2d.dynamics.World;

/**
 * 将实现该接口的物体(关节)使用{@link PhysicsScreen#addBodyToScreen(ICreator)} 添加到screen的队列中，
 * screen会在下一次update时调用{@link #create()}方法来创建物体
 */
public interface IBodyCreator{
	/**
	 * screen会在update时调用该方法来创建物体(或者关节)。你需要在该方法中{@link World#createBody(org.jbox2d.dynamics.BodyDef)}
	 * 或者{@link World#createJoint(org.jbox2d.dynamics.joints.JointDef)}，并且调用action的初始化。
	 * <br/>当然，如果你确定你所在线程不会与screen的update方法冲突时，你也可以直接调用该方法而无需将其添加到screen的队列中。
	 */
	public void create();
}
